A finite impulse response (FIR) filter is a type of electronic filter with a broad range of applications. FIR filters are widely used in both digital signal processing and digital video processing, and their construction is well known in the prior art.
One type of FIR filter is a transversal filter, or tapped delay line filter, in which successively delayed versions of an input signal are multiplied by certain coefficient values and then summed. The output of such a filter is thus a weighted combination of voltages taken from uniformly spaced taps.
FIG. 1 shows one example of such a FIR filter, taken from U.S. Pat. No. 7,188,135. An input signal x(t) is fed to a line of delay elements 104, 106, 108, etc., each of which introduces a delay of a predetermined time such that the output of delay element 104 is the input signal x(t−1), the output of delay element 106 is x(t−2), etc. The original signal x(t) is multiplied by a coefficient C1, and each subsequent delayed version of the input signal x(t) is multiplied by a coefficient C2, C3, etc. Element 124 is a summation means that adds all of the delayed and multiplied signals to create output y(t). Such a filter is considered to be of the Mth order, where M−1 is the number of delay elements.
By properly selecting the coefficient values, a FIR filter is designed to provide an output with a desired frequency response. The coefficient values are typically calculated by a software program which takes the desired frequency response as an input.
In practice, FIR filters are often made using resistors to provide the coefficients. Such a filter is shown in FIG. 2. Here filter 200 again contains a plurality (7 are shown) of unit delay elements U1 to U7, each of which introduces a predetermined delay of time. As above, the filter is considered to be an 8th order filter, since 8 minus 1 is the number of delay elements, although FIR filters may have many more elements when more coefficients are needed to provide the desired frequency response; over 100 coefficients, and thus elements, is not uncommon.
The output of each of the delay elements U1 to U7 is connected to an element having an impedance value, typically through some buffering means, such as buffers Z1 to Z7; here, the elements having impedance values are shown as resistors R1 to R7. One of skill in the art will recognize that while this example and the following discussion use resistors to indicate the impedance values for purposes of illustration, other circuit elements also have impedance values, for example, capacitors, inductors, depletion mode MOSFETs, and other devices, and any device having an impedance that does not otherwise interfere with operation of the filter may be used to provide the desired impedance values as described herein.
The resistors R1 to R7 all share a common output point. As an input signal progresses through the delay elements, each resistor causes the signal on the respective delay element to which it is attached to contribute to the output signal in inverse proportion to the resistor value. Thus, if the resistor is small, the signal on the attached delay element will have a large contribution to the output voltage, while if the resistor is large the contribution to the output will be smaller. It is thus known in the art that by selecting impedance values that are the inverse of the desired coefficients, a circuit as shown in FIG. 2 using resistors or other elements having impedance will effectively provide the multiplication by coefficients shown in FIG. 1.
However, delaying a signal is not an easy operation if the signal is an analog quantity; it typically necessitates not just simple sample and hold devices, or more commonly charge coupled devices (CCDs), but more complex delay elements operating in a chain such that the samples are passed from one delay element to the next. Further, active buffers are typically located between the hold devices (typically capacitors) and the load to isolate the hold devices from the load and prevent signal decay; however, such buffers use additional power. Accordingly, it would be advantageous to be able to build a FIR filter without delay elements and without buffers.